#ifndef STATE_H
#define STATE_H

#include <OISKeyboard.h>
#include <OISMouse.h>

class Overseer;

class State : public OIS::KeyListener, public OIS::MouseListener
{
public:
	State(Overseer *o)
	{
		overseer = o;
	}
	virtual void initialise()=0;
	virtual void exit()=0;
	virtual void pause()=0;
	virtual void resume()=0;

	std::string getName()
	{
		return name;
	}

	virtual void update(double timeSinceLastFrame)=0;

protected:
	Overseer *overseer;
	std::string name;
};

#endif
